/*
 * Contato.java
 *
 * Created on 4 de Fevereiro de 2007, 17:30
 */

package cefetpb.pod.agenda.tol;

import java.io.Serializable;
import java.util.Date;

/**
 *
 * @author Rosberg
 * @author Deijiane
 */
public class Contato implements Serializable {
    private String nome;
    private Date dataNascimento;
    private Sexo sexo;
    private String CPF;
    private String endereco;
    private String telefone;
    private String email;
    private Usuario usuario;

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public Date getDataNascimento() {
        return dataNascimento;
    }

    public void setDataNascimento(Date dataNascimento) {
        this.dataNascimento = dataNascimento;
    }

    public Sexo getSexo() {
        return sexo;
    }

    public void setSexo(Sexo sexo) {
        this.sexo = sexo;
    }

    public String getCPF() {
        return CPF;
    }

    public void setCPF(String CPF) {
        this.CPF = CPF;
    }

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    public String getTelefone() {
        return telefone;
    }

    public void setTelefone(String telefone) {
        this.telefone = telefone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
 
    public Usuario getUsuario() {
        return usuario;
    }
    
    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }
    
    public Contato() {
    }
    
    public Contato(Usuario usuario) {
        this(usuario, null);
    }
    
    public Contato(Usuario usuario, String nome) {
        this.setUsuario(usuario);
        this.setNome(nome);
    }
    
    public int hashCode() {
        return this.getNome().toLowerCase().hashCode();
    }
    
    public boolean equals(Object anObject) {
        if (anObject instanceof Contato) {
            return (this.hashCode() == anObject.hashCode());
        } else {
            return super.equals(anObject);
        }
    }
}